package com.lhd.service;

import java.util.List;

import com.lhd.entity.dto.SubmitDto;
import com.lhd.entity.query.RecordQuery;
import com.lhd.entity.po.Record;
import com.lhd.entity.vo.PaginationResultVO;
import java.util.Date;

/**
 * @Author: liuhd
 * @Date: 2025/03/16
 * @Description: Record业务接口
 */
public interface RecordService {
	/**
	 * 根据条件查询列表
	 */
	List<Record> findListByQuery(RecordQuery query);

	/**
	 * 根据条件查询数量
	 */
	Long findCountByQuery(RecordQuery query);

	/**
	 * 分页查询
	 */
	PaginationResultVO<Record> findListByPage(RecordQuery query);

	/**
	 * 新增
	 */
	Long add(Record bean);

	/**
	 * 新增或更新
	 */
	Long addOrUpdate(Record bean);

	/**
	 * 批量新增
	 */
	Long addBatch(List<Record> listBean);

	/**
	 * 批量新增或修改
	 */
	Long addOrUpdateBatch(List<Record> listBean);

	/**
	 * 多条件更新
	 */
	Long updateByQuery(Record bean, RecordQuery query);

	/**
	 * 多条件删除
	 */
	Long deleteByQuery(RecordQuery query);

	/**
	 * 根据PRIMARY查询
	 */
	Record getRecordById(Integer id);

	/**
	 * 根据PRIMARY删除
	 */
	Long deleteRecordById(Integer id);

	/**
	 * 根据PRIMARY更新
	 */
	Long updateRecordById(Record bean, Integer id);

	/**
	 * @description: 提交签到
	 * @param stuId 学生id
	 * @param submitDto
	 * @return
	 * @author liuhd
	 * 2025/4/7 22:51
	 */
	void submit(Integer stuId, SubmitDto submitDto);
}